1. Field
Apparatuses and methods consistent with the following description relate to a method for compiling a program to be executed on a multi-core processor, and task mapping and task scheduling of the multi-core processor.
2. Description of the Related Art
Comparable programming for characteristics of a multicore architecture may improve the performance of multicore architecture.
In programming using a multicore processor, mapping refers to a process of determining which processing elements to execute in terms of the tasks or individual parts of an application and representing the determination as a graph.
Further, scheduling is a process that may follow the mapping process. Scheduling may determine an order and timing according to which the respective tasks are executed by the processing elements.
However, a multicore program executed on a multicore is so highly complex that manual writing of the program results in low programming productivity and/or low program quality. Further, the complexity of programming may be increased by the mapping and scheduling processes.
In particular, due to the high degree of complexity of the program, significant difficulties may follow when a program developer individually designates a particular communication scheme for each core-mapped task to be processed between a source processing element and a destination processing element.